package cn.gson.crm.model.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import cn.gson.crm.model.entity.JyResume;
import cn.gson.crm.model.entity.Student;

/**
 * 学员简历Mapper
 * @author asus
 *
 */
@Mapper
public interface ResumeMapper {
	/**
	 * 查询出所有简历
	 * @param resume
	 * @return
	 */
	List<JyResume> resumeList(Student resume);
	/**
	 * 查询出指定简历的项目经历
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectProject(@Param("resumeId") Long id);
	/**
	 * 查询出指定简历的就业经历
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectExperience(@Param("resumeId") Long id);
	/**
	 * 查询出指定简历的评价信息
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectEvaluate(@Param("resumeId") Long id);
	/**
	 * 查出登录学员的所有简历
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectMineResume(@Param("studentId") Long id);
	/**
	 * 查询出优秀的简历（被推荐）
	 * @return
	 */
	List<Map<String, Object>> selectRecommend(@Param("resumeName") String resumeName);
	/**
	 * 查出登录学员的简历数量
	 * @param id
	 * @return
	 */
	Integer selectResumeCount(@Param("studentId") Long id);
	/**
	 * 查出学员简历中工作过的公司
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> selectCompany(@Param("experienceId") Long id);
	/**
	 * 推荐简历
	 * @param id
	 */
	void getRecom(@Param("resumeId") Long id);
	/**
	 * 取消推荐简历
	 * @param id
	 */
	void outRecom(@Param("resumeId") Long id);
	/**
	 * 打回简历
	 * @param id
	 */
	void updateRepulse(@Param("resumeId") Long id);
	/**
	 * 删除简历
	 * @param id
	 */
	void deleteResume(@Param("resumeId") Long id);
	
	/**
	 * 删除简历工作经验
	 * @param id
	 */
	void deleteExperience(@Param("resumeId") Long id);
	
	/**
	 * 删除简历项目经验
	 * @param id
	 */
	void deleteProjects(@Param("resumeId") Long id);
	
	/**
	 * 删除学员简历中指定的工作经验
	 * @param id
	 */
	void deleteWork(@Param("workid") Long id);
	
	/**
	 * 删除学员简历中指定的项目经验
	 * @param id
	 */
	void deleteProject(@Param("projectid") Long id);
}
